package com.fs.chatx.module.chat.vo.chat;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@NoArgsConstructor
@Data
public class ChatRequest {
    private String id;
    private String agentId;
    private String model;
    private String sessionId;
    //是否流式输出
    private boolean stream;
    //聊天类型:文生文 t2t  联网 search
    private String chatType;
    //聊天历史消息
    //private List<ChatMessageRequest> messages;

    private String role;
    private String content;
    private String msgType;
    private boolean thinkingEnabled;
    private List<Attachment> files;

    public static class Attachment {
        private String name;   // 文件名
        private String type;   // 文件类型（如image/png）
        private String url;    // 文件存储路径或URL
        private long size;     // 文件大小（单位字节）

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }

        public long getSize() {
            return size;
        }

        public void setSize(long size) {
            this.size = size;
        }

        // Lombok自动生成getter/setter和无参构造器
        @Override
        public String toString() {
            return "Attachment{" +
                    "fileName='" + name + '\'' +
                    ", fileType='" + type + '\'' +
                    ", fileUrl='" + url + '\'' +
                    ", fileSize=" + size +
                    '}';
        }
    }

}
